/**
 * 一、接口的引入
 * 描述两个对象，分别是老师和学生
 * 老师拥有的属性有姓名、年龄、性别
 * 学生拥有的属性有姓名、年龄、性别
 * 使用接口定义一种新的类型，这个新的类型其实就是一个组合类型
 * 二、接口的定义
 * interface 接口的名称{
 *   属性名:类型
 *   属性名2:类型2
 *   属性名3:类型3
 * }
 * 三、接口属性
 * 1、只读属性
 * 2、可选属性
 * 3、可变属性
 * any:所谓的any是指它是任意类型，所有的类型都可以赋值给这个any类型，any类型也可以赋值给任意类型，使用any后就等于越过了ts的检测机制
 * 一般情况下，在逼不得已的时候，千万不要过多的使用any
 */
interface IPerson{
    readonly id:number,
    name:string
    age?:number
    sex:string,
    [propName:string]:any
}
let t1:IPerson={id:1,name:"张三",sex:"男",giveLession:['h5','java','python']}
let s1:IPerson={id:2,name:'李四',age:22,sex:"女",score:90}
//t1.id=2
console.log(t1);
